let price = "0"; //价格

/**
 * 周永成
 * 加载完发送ajax 渲染页面
 */
$(document).ready(function () {
    let obj = $('table tbody tr td');
    bindFun();
    init();
    Fbrand(obj);

    $("input[name=creatName]").val(getCookieName());
});

//日期格式化
function date_format(data) {
    let day = data.getDate();
    let month = data.getMonth() + 1;
    let year = data.getFullYear();
    let hour = data.getHours();
    let min = data.getMinutes();
    let sec = data.getSeconds();
    if (day < 10) {
        day = "0" + day;
    }
    if (month < 10) {
        month = "0" + month;
    }
    let date = year + "-" + month + "-" + day + " " + hour + ":" + min + ":" + sec;
    return date;
}

/**
 * 周永成
 * 参数格式化
 */
// function initCanShu(){
//     //单价
//     price = '0';
//     //单位
//     untl = '';
//     //个数
//     num = '0';
//
// }

/**
 * @return {生产订单号}
 */
function CG_Order(myDate) {
    let year = myDate.substring(0,4); //获取当前年
    let mon = myDate.substring(5,7); //获取当前月
    let date = myDate.substring(8,10); //获取当前日
    let randnum = parseInt((Math.random() * 10000) - 1);
    return year+mon+date+randnum;
}


function init() {

    let myDate = new Date;
    // let format = myDate.format("yyyy-MM-dd hh:mm:ss");
    let format = date_format(myDate);
    $("input[name=time]").val(format);  //渲染时间

    let cgOrder = CG_Order(format);
    $("input[name=order]").val('CG' + cgOrder); //渲染订单

    let check = $("input[name=check]").val(); //审核状态
}

// function firm(obj) {
//     obj.closest('tr').children().find('select').find('*').remove();
//
//
//
//     $.ajax({
//         url:"/purchase/firm/"+id,
//         type:'post',
//         dataType:'json',
//         success:function (result) {
//
//             let str = "<option selected='selected' value='0'>请选择</option>";
//             for (let i = 0; i < result.length; i++) {
//                 str += "<option value='" + result[i].firmId + "'>"+result[i].firmName+"</option>";
//             }
//             obj.closest('tr').children().eq(4).find('select').append(str);
//             str = "";
//         }
//     })
// }


function Fbrand(obj) {
    //页面加载后 清空所有
    obj.closest('tr').children().eq(1).find('select').find('*').remove();   //清空
    obj.closest('tr').children().eq(2).find('select').find('*').remove();   //清空
    obj.closest('tr').children().eq(3).find('select').find('*').remove();   //清空

    clearInit(obj);
    FAjax(obj);

}

function FAjax(obj) {
    let str = "<option selected='selected' value='0'>请选择</option>"; //添加默认
    obj.closest('tr').children().eq(2).find('select').append(str); //type渲染
    obj.closest('tr').children().eq(3).find('select').append(str); //product渲染
    str = "";
    $.ajax({
        url:"/purchase/brand",
        type:'post',
        dataType:'json',
        success:function (result) {
            str = "<option selected='selected' value='0'>请选择</option>";
            for (let i = 0; i < result.length; i++) {
                str += "<option value='" + result[i].brandId + "'>"+result[i].brandName+"</option>";
            }
            obj.closest('tr').children().eq(1).find('select').append(str);
        }
    })
}

function clearInit(obj){
    obj.closest('tr').children().eq(7).html(0);   //清空
    obj.closest('tr').children().eq(8).html(0);   //清空
}

function bindFun(){
    /**
     * 周永成
     * brand点击后渲染type选单
     */
    $(".brand").one('change',function(){
        $(this).blur(function () {

            let obj = $(this);
            let id = obj.val();

            obj.closest('tr').children().eq(3).find('select').find('*').remove();   //清空
            obj.closest('tr').children().eq(2).find('select').find('*').remove();   //清空

            clearInit(obj);    //清空

            let str = "<option selected='selected' value='0'>请选择</option>"; //添加默认
            obj.closest('tr').children().eq(3).find('select').append(str); //product渲染
            obj.closest('tr').children().eq(2).find('select').append(str); //type渲染
            str = "";
            if ("0" === id) {
                return;
            }
            $.ajax({
                url:"/purchase/type/"+id,
                type:'post',
                dataType:'json',
                success:function (result) {
                    for (let i = 0; i < result.length; i++) {
                        str += "<option value='" + result[i].typeId + "'>"+result[i].typeName+"</option>";
                    }
                    obj.closest('tr').children().eq(2).find('select').append(str);
                    str ="";
                }
            })
        });
    });

    /**
     * 周永成
     * type点击后渲染product选单
     */
    $(".type").one('change',function() {
        $(this).blur(function () {

            let obj = $(this);

            let id = obj.val();

            obj.closest('tr').children().eq(3).find('select').find('*').remove();   //清空

            let str = "<option selected='selected' value='0'>请选择</option>";

            if ("0" === id) {
                obj.closest('tr').children().eq(3).find('select').append(str);
                return;
            }

            $.ajax({
                url: "/purchase/getProduct/" + id,
                type: 'post',
                dataType: 'json',
                success: function (result) {
                    //赋值单位
                    // untl = result[0].productUnit;
                    obj.closest('tr').children().eq(6).html(result[0].productUnit);

                    price = result[0].productPrice;

                    for (let i = 0; i < result.length; i++) {
                        str += "<option value='" + result[i].productId + "'>" + result[i].productModel + "</option>";
                    }
                    obj.closest('tr').children().eq(3).find('select').append(str);
                    str = "";
                }

            });
        });
    });

     /**
     * 周永成
     * product点击后渲染firm选单
     */
    $(".product").one('change',function(){
        $(this).blur(function () {

            let obj = $(this);

            let id = obj.val();

            obj.closest('tr').children().eq(4).find('select').find('*').remove();   //清空

            let str = "<option selected='selected' value='0'>请选择</option>";

            if ("0" === id) {
                obj.closest('tr').children().eq(4).find('select').append(str);
                return;
            }
            $.ajax({
                url:"/purchase/firm/"+id,
                type:'post',
                dataType:'json',
                success:function (result) {

                    for (let i = 0; i < result.length; i++) {
                        str += "<option value='" + result[i].firmId + "'>"+result[i].firmName+"</option>";
                    }
                    obj.closest('tr').children().eq(4).find('select').append(str);
                    str = "";
                }

            });
        });
    });

    /**
     * 周永成
     * 渲染价格
     */
    $(".product").one('change',function(){
        $(this).blur(function () {

            let obj = $(this);

            let id = obj.val();  //获取当前型号id
            //没选类型
            if ("0" === id) {
                return;

            }else if (obj.val()==='0' || obj.val()===''){//选了类型但未选择型号
                obj.closest('tr').children().eq(7).html(0);    //单价
                obj.closest('tr').children().eq(8).html(0);    //总金额
                return;
            }
            obj.closest('tr').children().eq(7).html(price);    //单价

        })
    });

    /**
     * 周永成
     * 渲染总价格
     */
    $("input[name=num]").one('change',function(){
        $(this).blur(function () {

            let obj = $(this);

            let num = obj.val();
            //数量为空
            if ("0" === num) {
                obj.closest('tr').children().eq(8).html(0);   //总价清空
                return;
            }
            num = parseInt(num);

            if (num > 999) {
                num = 999;
                obj.closest('tr').children().eq(5).find('input').val(999);
                alert("数量不能大于 999");
            }else if (num < 0){
                num = 0;
                obj.closest('tr').children().eq(5).find('input').val(0);
                alert("数量不能小于 0");
            }
            let sum = num * parseInt(price);  //总价格
            obj.closest('tr').children().eq(8).html(sum);

        })
    });

}


/**
 * 周永成
 * 获取cookie用户名
 */
function getCookieName() {
    let uname = "";
    /**---------------------
    *
    *   获取cookie用户名
    *
    * ---------------------
    */
    return uname;
}


function addView() {

    let id = $('table tbody').children(":last-child").children().eq(0).html();
    if(id === null){
        id = 0;
    }
    let str = "<tr>\n" +
        "          <td>"+ (parseInt(id) + 1 )+ "</td>\n" +
        "          <td>\n" +
        "          \t<select class=\"brand\" name=\"brand\">\n" +
        "\n" +
        "            </select>\n" +
        "          </td>\n" +
        "          <td>\n" +
        "          \t<select class=\"type\" name=\"type\">\n" +
        "\n" +
        "            </select>\n" +
        "          </td>\n" +
        "          <td>\n" +
        "          \t<select class=\"product\" name=\"product\">\n" +
        "\n" +
        "            </select>\n" +
        "          </td>\n" +
        "          <td>\n" +
        "          \t<select class=\"firm\" name=\"firm\">\n" +
        "\n" +
        "            </select>\n" +
        "          </td>\n" +
        "          <td>\n" +
        "              <input type=\"text\" name=\"num\"/>\n" +
        "          </td>\n" +
        "          <td></td>\n" +
        "          <td></td>\n" +
        "          <td></td>\n" +
        "        </tr>" ;
    $('.t').append(str);
    let lastObj = $('table tbody').children(":last-child");

    str = "<option selected='selected' value='0'>请选择</option>";


    lastObj.closest('tr').children().eq(4).find('select').append(str);
    /**
     * 取消事件绑定
     */
    $('.brand').unbind();
    $('.type').unbind();
    $('.product').unbind();
    $('.firm').unbind();
    /**
     * 重新添加绑定
     */
    bindFun();
    Fbrand(lastObj); //商品函数
    // firm(lastObj);



}

function deleteView() {

    //激活
    on_delete();
    alert("点击下列任意一行删除");
}

/**
 *  设置点击删除绑定事件
 *  周永成
 */
function on_delete() {

    let len = $('table tbody').children().length;      //获取总共多少tr

    for (let i = 0; i < len; i++) {         //循环添加事件

        $('table tbody').children().eq(i).one('click',function () {

            var id = $(this).children().eq(0).html();   //  获取id

            var b = confirm("是否确定删除 "+id);

            //确认删除
            if (b) {
                $(this).find('*').remove();
                alert('删除成功');
            }
            $('table tbody').children().unbind("click");
        })

    }
}

/**
 * 周永成
 * 添加功能
 */
function add() {
    let brandId = '0';  //品牌id
    let typeId = '0';   //类型
    // let product = $('input[name=product]').val();   //型号
    // let firm = $('input[name=firm]').val();     //厂商
    // let num = $('input[name=num]').html();       //数量
    // let sum = $('table td').eq(8).html();       //金额
    let order = $('input[name=order]').val();   //订单
    let time = $('input[name=time]').val();   //订单

    let uname = getCookieName();    //  用户

    let len = $('table tbody').children().length;      //获取总共多少tr

    var array = []; //数据数组
    var num = 0;
    var productId = 0;
    var firmId ="";
    for (let i = 0; i < len; i++) {
        var obj = $('table tbody').children().eq(i).children();

        num = obj.eq(5).find('input').val();
        productId = parseInt(obj.eq(3).find('select').val());   //商品id
        firmId = obj.eq(4).find('select').val();  //仓库
        brandId = obj.eq(1).find('select').val(); //品牌id
        typeId = obj.eq(2).find('select').val();     //类型
        if (firmId === '0' || firmId === '') {
            alert('请选择厂商');
            return;
        }
        array.push({purchaseId:order,count:num,productId:productId,purchaseTime:time,firmId:firmId,caoZuoName:uname,typeId:typeId,brandId:brandId});
    }

    $.ajax({
        url:"/purchase/addPurchase",
        data:JSON.stringify(array),
        type:'post',
        dataType:'json',
        contentType:'application/json',
        success:function(bool){
            if (bool === 1){
                alert("保存成功");
                window.location.href = "/purchase/purchase/purchaseList.html";
            } else {
                alert("保存失败");
            }
        }
    })
}